home *** CD-ROM | disk | FTP | other *** search
/ HamCall (October 1991) / HamCall (Whitehall Publishing)(1991).bin / bcast / bcstcble / dbconv.bas < prev    next >
BASIC Source File  |  1990-10-14  |  4KB  |  108 lines

  1. 10    REM --------------------------------------
  2. 20    REM    D E C I B E L   C O N V E R S I O N
  3. 30    REM --------------------------------------
  4. 40    REM
  5. 50    CLEARW 2:REM CLEAR SCREEN
  6. 60    PRINT "═════════════════════════════════════════════════════════════"
  7. 70    PRINT "    D E C I B E L   C O N V E R S I O N   P R O G R A M      "
  8. 80    PRINT "═════════════════════════════════════════════════════════════"
  9. 90    CL$ = "                                                             ":REM Clear Line
  10. 100   PRINT "Value Known? -";CHR$(16);
  11. 105   PRINT"  VOLTAGE- ";:PRINT"CURRENT- ";PRIN "POWER- ";
  12. 107   PRINT"DECIBELS"
  13. 110   PRINT "Choose One <?>";:INPUT;A$
  14. 120   IF LEFT$(A$,1) = "V" OR LEFT$(A$,1) = "v" THEN GOTO 300
  15. 130   IF LEFT$(A$,1) = "C" OR LEFT$(A$,1) = "c" THEN GOTO 400
  16. 140   IF LEFT$(A$,1) = "P" OR LEFT$(A$,1) = "p" THEN GOTO 500
  17. 150   IF LEFT$(A$,1) = "D" OR LEFT$(A$,1) = "d" THEN GOTO 600
  18. 160   GOTO 110
  19. 170   REM
  20. 180   REM     --- FIND ANTILOG OF NUMBER ---
  21. 190   REM
  22. 200   IF NUMBER > 38.2 THEN PRINT "INCORRECT ENTRY" : GOTO 910
  23. 210   ANTILOG = 10 ^ NUMBER
  24. 220   RETURN
  25. 230   REM
  26. 240   REM     --- FIND COMMON LOGARITHM ---
  27. 250   REM
  28. 260   IF NUMBER <= 0 THEN 500
  29. 270   LOGARITHM = LOG(NUMBER) / LOG(10)
  30. 280   RETURN
  31. 290   REM
  32. 300   REM     --- VOLTAGE KNOWN ---
  33. 310   REM
  34. 320   INPUT "INPUT VOLTAGE =  ",E1
  35. 330   INPUT "OUTPUT VOLTAGE =  ",E2
  36. 340   NUMBER = E2 / E1
  37. 350   GOSUB 240
  38. 360   DB = 20 * LOGARITHM
  39. 370   GOSUB 860
  40. 380   GOTO 910
  41. 390   REM
  42. 400   REM     --- CURRENT KNOWN ---
  43. 410   REM
  44. 420   INPUT "INPUT CURRENT =  ",I1
  45. 430   INPUT "OUTPUT CURRENT =  ",I2
  46. 440   NUMBER = I2 / I1
  47. 450   GOSUB 240
  48. 460   DB = 20 * LOGARITHM
  49. 470   GOSUB 860
  50. 480   GOTO 910
  51. 490   REM
  52. 500   REM     --- POWER KNOWN ---
  53. 510   REM
  54. 520   INPUT "INPUT POWER =  ",P1
  55. 530   INPUT "OUTPUT POWER =  ",P2
  56. 540   NUMBER = P2 / P1
  57. 550   GOSUB 240
  58. 560   DB = 10 * LOGARITHM
  59. 570   GOSUB 860
  60. 580   GOTO 910
  61. 590   REM
  62. 600   REM     --- DECIBELS KNOWN ---
  63. 610   REM
  64. 620   PRINT "VALUES KNOWN:"
  65. 630   PRINT "<1> - DB and INPUT VOLTAGE"
  66. 640   PRINT "<2> - DB and OUTPUT VOLTAGE"
  67. 650   PRINT "<3> - DB and INPUT CURRENT"
  68. 660   PRINT "<4> - DB and OUTPUT CURRENT"
  69. 670   PRINT "<5> - DB and INPUT POWER"
  70. 680   PRINT "<6> - DB and OUTPUT POWER"
  71. 690   PRINT "<?> - CHOOSE ONE" :INPUT;A$
  72. 700   A = VAL(A$) : IF A < 1 OR A > 6 THEN GOTO 690
  73. 710   FOR I = 9 TO 23 STEP 2 :PRINT CL$ : NEXT I
  74. 720   ON A GOTO 730, 740, 750, 760, 770, 780
  75. 730   GOSUB 790:INPUT"INPUT VOLTAGE =  ",E1
  76. 735   NUMBER=DB/20:GOSUB 180:E2=ANTILOG*E1:RATIO=E2/E1
  77. 737   PRINT "OUTPUT  VOLTAGE=";E2:PRINT"VOLTAGE RATIO = ";RATIO:GOTO 910
  78. 740   GOSUB 790:INPUT "OUTPUT VOLTAGE =  ",E2:NUMBER=DB/20:GOSUB 180
  79. 745   E1=E2/ANTILOG:RATIO=E2/E1:PRINT"INPUT  VOLTAGE=";E1
  80. 747   PRINT"VOLTAGE RATIO = ";RATIO:GOTO 910
  81. 750   GOSUB 790:INPUT"INPUT CURRENT =  ",I1:NUMBER=DB/20:GOSUB 180
  82. 755   I2=ANTILOG*I1:RATIO=I2/I1:PRINT"OUTPUT  CURRENT=";I2
  83. 757   PRINT"CURRENT RATIO = ";RATIO:GOTO 910
  84. 760   GOSUB 790:INPUT"OUTPUT CURRENT =  ",I2:NUMBER=DB/20:GOSUB 180
  85. 765   I1=I2/ANTILOG:RATIO=I2/I1:PRINT"INPUT  CURRENT = ";I1
  86. 767   PRINT"CURRENT RATIO = ";RATIO:GOTO 910
  87. 770   GOSUB 790:INPUT "INPUT POWER =  ",P1:NUMBER=DB/10:GOSUB 180
  88. 775   P2=ANTILOG*P1:RATIO=P2/P1:PRINT"OUTPUT POWER = ";P2
  89. 777   PRINT"POWER RATIO = ";RATIO:GOTO 910
  90. 780   GOSUB 790:INPUT "OUTPUT POWER =  ",P2:NUMBER=DB/10:GOSUB 180
  91. 785   P1=P2/ANTILOG:RATIO=P2/P1:PRINT"INPUT POWER = ";P1
  92. 787   PRINT"POWER RATIO = ";RATIO:GOTO 910
  93. 790   REM
  94. 800   REM     --- INPUT DB ---
  95. 810   REM
  96. 820   INPUT "DECIBEL (enter +/-) =  ",DB : RETURN
  97. 830   REM
  98. 840   REM     --- PRINT DB RESULTS ---
  99. 850   REM
  100. 860   PRINT "DECIBELS = ";: PRINT USING "+###.## dB";DB
  101. 870   RETURN
  102. 880   REM
  103. 890   REM     --- CONTINUE OR QUIT ROUTINE ---
  104. 900   REM
  105. 910   INPUT"PRESS ANY KEY TO CONTINUE OR <Q> TO QUIT";A$
  106. 920   IF A$ = "Q" THEN END
  107. 930   GOTO 10
  108.